package com.igelato.controller.CouponBatch;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class CouponBatchUpdateDto implements Serializable {

    @NotNull(message = "id不能为空")
    private Integer id;

    private String coupon_name;

    @ApiModelProperty("本批次要发放的优惠券总数量，如果值为null则表示无上限")
    private Integer total_count;

    @ApiModelProperty("已领取的优惠券数量")
    private Integer received_count;

    @ApiModelProperty("已使用的优惠券数量")
    private Integer used_count;

    @ApiModelProperty("1：满减；2：打折（打折没有门槛）；3：送东西；")
    private Integer coupon_type;

    @ApiModelProperty("0：所有商品都可用；1：除特价商品外都可用；")
    private Integer limit_goods_type;

    @ApiModelProperty("0：没有任何条件，所有用户所有门店都可用；1：只针对新用户；2：只针对某几个城市；3：只针对某几个门店；4：生日；")
    private Integer limit_used_type;

    @ApiModelProperty("满减的门槛（金额），如果是值为null或0则表示没有门槛")
    private Integer threshold;

    @ApiModelProperty("优惠金额")
    private Integer amount;

    @ApiModelProperty("折扣，计算时记得除以100")
    private Integer discount;

    @ApiModelProperty("赠送的商品id，多选1，用英文逗号,分隔")
    private String give_goods_ids;

    @ApiModelProperty("可用门店")
    private String shop_ids;

    @ApiModelProperty("可用城市")
    private String city_ids;

    @ApiModelProperty("开始发放时间，值为null则表示现在立马开始")
    private LocalDateTime assign_start_time;

    @ApiModelProperty("结束发放时间，值为null表示一直发放，永远不结束")
    private LocalDateTime assign_end_time;

    @ApiModelProperty("时效类型：0：永远有效；1：绝对时效（领取后XXX-XXX时间段有效）； 2：相对时效（领取后N天有效）；")
    private Integer valid_type;

    private LocalDateTime valid_start_time;

    private LocalDateTime valid_end_time;

    private Integer valid_days;

}
